package com.hghivln.service;

import com.hghivln.pojo.dto.RegistrationDto;
import com.hghivln.pojo.dto.RegistrationFormDto;
import com.hghivln.pojo.dto.RegistrationQueryDto;
import com.hghivln.pojo.vo.AjaxResult;

public interface RegistrationService {

    /**
     * 查询挂号列表(有排班的科室)
     */
    AjaxResult listDeptForScheduling(RegistrationQueryDto registrationQueryDto);

    /**
     * 保存挂号信息
     */
    AjaxResult addRegistration(RegistrationFormDto registrationFormDto);

    /**
     * 收费
     */
    AjaxResult collectFee(String registrationId);

    /**
     * 分页查询挂号信息
     */
    AjaxResult selectRegistrationForPage(RegistrationDto registrationDto);

    /**
     * 作废
     */
    AjaxResult doInvalid(String registrationId);

    /**
     * 退号
     */
    AjaxResult doReturn(String registrationId);

    /**
     * 加载挂号列表[待就诊]
     * 加载挂号列表[就诊中]
     * 加载挂号列表[就诊完成]
     * @param schedulingType 挂号类型 急诊/门诊
     * @param deptId 科室id
     * @param regStatus 挂号状态0未收费,1待就诊，2,就诊中，3，就诊完成，4，已退号，5 作废
     * @param subsectionType 排班时段1上午  2下午 3晚上
     * @return
     */
    AjaxResult queryRegistration(String schedulingType, Long deptId, String regStatus, String subsectionType);


}
